package com.acmen.easyapi.generator;

import com.acmen.easyapi.annotation.Param;
import org.springframework.stereotype.Component;

import java.lang.reflect.Field;
import java.util.Random;

/**
 * @author acmen
 * Boolean数据获取器
 */
@Component
public class BooleanDataGenerator implements DataGenerator {
    @Override
    public boolean matches(Field field, Param param) {
        // 如果该字段的类型为boolean或Boolean，则返回true
        if (field.getClass().getName().equals("boolean") || field.getClass().equals(Boolean.class)) {
            return true;
        }
        // 否则返回false
        return false;

    }

    @Override
    public Object generate(Field field, Param param) {
         Random random = new Random();
        // 创建一个随机数生成器对象

        return random.nextBoolean();
        // 返回一个随机的布尔值，即true或false

    }

    /**
     * 数据获取说明
     *
     * @return
     */
    @Override
    public String getNote() {
        String note = "Boolean：";
        note += "当字类型为'Boolean'时随机生成true或者false。";
        return note;
    }
}
